KISS BOT (Keep It Simple BOT)A very simple script that can be used for Futures and Options Trading - for stocks, crypto, forex etc.
The script includes usage of following public scripts:
1. Super Trend
2. Linear Regression
3. Exponential Moving Average
Concept, we are using three EMA, with source High, Low, and Close. We want to buy or sell when there is a crossover of third EMA (fastest) over first and second respectively.
E.g. the default values are EMA 13 High, EMA 13 Low and EMA 5 Close, we will get Buy signal when EMA 5 crosses over EMA 13 High and we will get Sell signal when EMA 5 crosses under EMA 13 Low.
Super Trend settings are made for Looking for Buy or Looking Sell, so that we focus on the trend. Trend is your friend.
Buy Trigger Line and Sell Trigger Line are just indication of using Trigger Line, buy is when EMA 5 crosses EMA 13 Low and Sell When EMA 5 Crosses EMA 13 High
The Tunnel or Band highlighted is the no trade zone for us and we do not want to trade side ways market.
Inside Bars are shown in Yellow, these candles do not qualify for any trade decision.
Outside Bars are shown in Pink, these candles do not qualify for any trade decision
Cari dalam skrip untuk "the script"
Trendline Pairs (Deep Search)After getting good response on Wedge-and-Flag-Finder-Multi-zigzag , I thought I will build little bit further into the script.
Main differences
Uses deep search algorithm for patterns instead of just using last 5 pivots
Flag pattern is removed so that we can concentrate mainly on trend line pairs
More number of overall patterns.
Trend Patterns Included
Channel - Rising, Falling, Ranging
Wedge - Rising, Falling + Expanding, Contracting types
Triangle - Expanding, Contracting
Indeterminate - Happens in rare cases where angle calculation results in error. It may still belong to one of the above patterns.
Please note:
This is published as free to use but protected source code indicator. This is because the script contains deep search algorithm which isn't made public yet and is also been used in other invite only scripts.
Will not be adding alerts to this indicator.
Swing Assassin's Consolidated ScriptI put this script together to essentially consolidate a number of scripts that I use on a daily basis into one script. This is an ongoing improvement effort, so there may be some garbage in here right now so keep that in mind if you intend to use this to help in your trading.
There are 5 moving averages (Hull). I use the Fast, Mid and Slow to find entries after I us the Medium Slow and Super Slow to identify a trend. Otherwise, I have those three turned off.
This script also uses Bollinger Bands which I literally cannot trade without.
The script also has anchored VWAP , automated support/resistance lines, and a homebrewed Volume Profile that is a copy from Ildar Akhmetgaleev's indicator "Poor Man's Volume Profile" used under Mozilla Public License Version 2.0.
ProfitBee59 ProProfitBee59 Pro for TradingView helps you do tedious works on your technical charts.
*It does CC59 counting and prints out a positive or negative number on each price bar. When the counting arrives at -9 or +9, it creates support and resistance (SNR) levels on the chart.
*It detects a Mom and Baby (MNB) pair of price bars where the left bar has higher high and lower low prices compared to those of the right bar. When a Mom and Baby pair is detected, Mommy head (high price of Mommy bar) and Mommy toe (low price of Mommy bar) levels are drawn on the chart.
*It calculates and plots a volume-weighted-average-price (VWAP) line on the chart with purple color for declining value and white color for rising value.
*It detects and draws a supply trend line of negative slope that links between two local maximum points on the chart.
*It detects and draws a demand trend line of positive slope that links between two local minimum points on the chart.
*It shows arrows and bells based on various configurable conditions on the chart.
------------------------------
How to install the script:
------------------------------
*Go to the bottom of this page and click on "Add to Favorite Scripts".
*Remove older version of the script by clicking on the "X" button behind the indicator line at the top left corner of the chart window.
*Open a new chart at and click on the "Indicators" tab.
*Click on the "Favorites" tab and choose "ProfitBee59 Pro".
*Right click anywhere on the graph, choose "Color Theme", the select "Dark".
*Right click anywhere on the graph, choose "Settings".
*In "Symbol" tab, set "Precision" to 1/100 for stock price or 1/100000 for Forex and set "Time Zone" to your local time.
*In "Scales" tab, check "Symbol Name Label" and "Indicator Last Value Label".
*In "Events" tab, check "Show Dividends on Chart", "Show Splits on Chart" and "Show Earnings on Chart".
*At the bottom of settings window, click on "Template", "Save As...", then name this theme of graph setting for future call up such as "Stock pb59pro" or "Forex pb59pro" or "Crypto pb59pro".
*Click OK.
==========================================
ProfitBee59 Pro for TradingView (pb59pro) is locked and protected.
Please ***do not*** ask for access in the comment section.
Use the link below to obtain access to this indicator.
==========================================
benchLibrary "bench"
A simple banchmark library to analyse script performance and bottlenecks.
Very useful if you are developing an overly complex application in Pine Script, or trying to optimise a library / function / algorithm...
Supports artificial looping benchmarks (of fast functions)
Supports integrated linear benchmarks (of expensive scripts)
One important thing to note is that the Pine Script compiler will completely ignore any calculations that do not eventually produce chart output. Therefore, if you are performing an artificial benchmark you will need to use the bench.reference(value) function to ensure the calculations are executed.
Please check the examples towards the bottom of the script.
Quick Reference
(Be warned this uses non-standard space characters to get the line indentation to work in the description!)
```
// Looping benchmark style
benchmark = bench.new(samples = 500, loops = 5000)
data = array.new_int()
if bench.start(benchmark)
while bench.loop(benchmark)
array.unshift(data, timenow)
bench.mark(benchmark)
while bench.loop(benchmark)
array.unshift(data, timenow)
bench.mark(benchmark)
while bench.loop(benchmark)
array.unshift(data, timenow)
bench.stop(benchmark)
bench.reference(array.get(data, 0))
bench.report(benchmark, '1x array.unshift()')
// Linear benchmark style
benchmark = bench.new()
data = array.new_int()
bench.start(benchmark)
for i = 0 to 1000
array.unshift(data, timenow)
bench.mark(benchmark)
for i = 0 to 1000
array.unshift(data, timenow)
bench.stop(benchmark)
bench.reference(array.get(data, 0))
bench.report(benchmark,'1000x array.unshift()')
```
Detailed Interface
new(samples, loops) Initialises a new benchmark array
Parameters:
samples : int, the number of bars in which to collect samples
loops : int, the number of loops to execute within each sample
Returns: int , the benchmark array
active(benchmark) Determing if the benchmarks state is active
Parameters:
benchmark : int , the benchmark array
Returns: bool, true only if the state is active
start(benchmark) Start recording a benchmark from this point
Parameters:
benchmark : int , the benchmark array
Returns: bool, true only if the benchmark is unfinished
loop(benchmark) Returns true until call count exceeds bench.new(loop) variable
Parameters:
benchmark : int , the benchmark array
Returns: bool, true while looping
reference(number, string) Add a compiler reference to the chart so the calculations don't get optimised away
Parameters:
number : float, a numeric value to reference
string : string, a string value to reference
mark(benchmark, number, string) Marks the end of one recorded interval and the start of the next
Parameters:
benchmark : int , the benchmark array
number : float, a numeric value to reference
string : string, a string value to reference
stop(benchmark, number, string) Stop the benchmark, ending the final interval
Parameters:
benchmark : int , the benchmark array
number : float, a numeric value to reference
string : string, a string value to reference
report(Prints, benchmark, title, text_size, position)
Parameters:
Prints : the benchmarks results to the screen
benchmark : int , the benchmark array
title : string, add a custom title to the report
text_size : string, the text size of the log console (global size vars)
position : string, the position of the log console (global position vars)
unittest_bench(case) Cache module unit tests, for inclusion in parent script test suite. Usage: bench.unittest_bench(__ASSERTS)
Parameters:
case : string , the current test case and array of previous unit tests (__ASSERTS)
unittest(verbose) Run the bench module unit tests as a stand alone. Usage: bench.unittest()
Parameters:
verbose : bool, optionally disable the full report to only display failures
Relative Volume (rVol), Better Volume, Average Volume ComparisonThis is the best version of relative volume you can find a claim which is based on the logical soundness of its calculation.
I have amalgamated various volume analysis into one synergistic script. I wasn't going to opensource it. But, as one of the lucky few winners of TradingClue 2. I felt obligated to give something back to the community.
Relative volume traditionally compares current volume to prior bar volume or SMA of volume. This has drawbacks. The question of relative volume is "Volume relative to what?" In the traditional scripts you'll find it displays current volume relative to the last number of bars. But, is that the best way to compare volume. On a daily chart, possibly. On a daily chart this can work because your units of time are uniform. Each day represents a full cycle of volume. However, on an intraday chart? Not so much.
Example: If you have a lookback of 9 on an hourly chart in a 24 hour market, you are then comparing the average volume from Midnight - 9 AM to the 9 AM volume. What do you think you'll find? Well at 9:30 when NY exchanges open the volume should be consistently and predictably higher. But though rVol is high relative to the lookback period, its actually just average or maybe even below average compared to prior NY session opens. But prior NY session opens are not included in the lookback and thus ignored.
This problem is the most visibly noticed when looking at the volume on a CME futures chart or some equivalent. In a 24 hour market, such as crypto, there are website's like skew can show you the volume disparity from time of day. This led me to believe that the traditional rVol calculation was insufficient. A better way to calculate it would be to compare the 9:30 am 30m bar today to the last week's worth of 9:30 am 30m bars. Then I could know whether today's volume at 9:30 am today is high or low based on prior 9:30 am bars. This seems to be a superior method on an intraday basis and is clearly superior in markets with irregular volume
This led me to other problems, such as markets that are open for less than 24 hours and holiday hours on traditional market exchanges. How can I know that the script is accurately looking at the correct prior relevant bars. I've created and/or adapted solutions to all those problems and these calculations and code snippets thus have value that extend beyond this rVol script for other pinecoders.
The Script
This rVol script looks back at the bars of the same time period on the viewing timeframe. So, as we said, the last 9:30 bars. Averages those, then divides the: . The result is a percentage expressed as x.xxx. Thus 1.0 mean current volume is equal to average volume. Below 1.0 is below the average and above 1.0 is above the average.
This information can be viewed on its own. But there are more levels of analysis added to it.
Above the bars are signals that correlate to the "Better Volume Indicator" developed by, I believe, the folks at emini-watch and originally adapted to pinescript by LazyBear. The interpretation of these symbols are in a table on the right of the indicator.
The volume bars can also be colored. The color is defined by the relationship between the average of the rVol outputs and the current volume. The "Average rVol" so to speak. The color coding is also defined by a legend in the table on the right.
These can be researched by you to determine how to best interpret these signals. I originally got these ideas and solid details on how to use the analysis from a fellow out there, PlanTheTrade.
I hope you find some value in the code and in the information that the indicator presents. And I'd like to thank the TradingView team for producing the most innovative and user friendly charting package on the market.
(p.s. Better Volume is provides better information with a longer lookback value than the default imo)
Credit for certain code sections and ideas is due to:
LazyBear - Better Volume
Grimmolf (From GitHub) - Logic for Loop rVol
R4Rocket - The idea for my rVol 1 calculation
And I can't find the guy who had the idea for the multiples of volume to the average. Tag him if you know him
Final Note: I'd like to leave a couple of clues of my own for fellow seekers of trading infamy.
Indicators: indicators are like anemometers (The things that measure windspeed). People talk bad about them all the time because they're "lagging." Well, you can't tell what the windspeed is unless the wind is blowing. anemometers are lagging indicators of wind. But forecasters still rely on them. You would use an indicator, which I would define as a instrument of measure, to tell you the windspeed of the markets. Conversely, when people talk positively about indicators they say "This one is great and this one is terrible." This is like a farmer saying "Shovels are great, but rakes are horrible." There are certain tools that have certain functions and every good tool has a purpose for a specific job. So the next time someone shares their opinion with you about indicators. Just smile and nod, realizing one day they'll learn... hopefully before they go broke.
How to forecast: Prediction is accomplished by analyzing the behavior of instruments of measure to aggregate data (using your anemometer). The data is then assembled into a predictive model based on the measurements observed (a trading system). That predictive model is tested against reality for it's veracity (backtesting). If the model is predictive, you can optimize your decision making by creating parameter sets around the prediction that are synergistic with the implications of the prediction (risk, stop loss, target, scaling, pyramiding etc).
<3
PriceCatch Opensource CPRHi Friends & TradingView community.
Greetings to you.
Some traders like to use Central Pivot Range (CPR) in their chart for assessing price movement. It is usually used in combination with Pivot Levels.
Calculating CPR is a simple matter. There a few CPR scripts in the Public Library, but have the code hidden. I thought there may many users who may want to know how CPR is calculated and study it for use in their own scripts. So, here is the CPR script with the code. Use it as you please.
Note: CPR is plotted only on intra-day time-frames.
The light magenta (band) range is current day CPR.
The light blue (band) range is tomorrow's CPR projected for you today itself based on current day's price action and range.
Queries / feedback welcome.
All the best.
PS: The script is developed to the best of my ability and as with all indicators, you have to decide if it might be useful to you when adding to your chart.
Tic Tac Toe (For Fun)Hello All,
I think all of you know the game "Tic Tac Toe" :) This time I tried to make this game, and also I tried to share an example to develop a game script in Pine. Just for fun ;)
Tic Tac Toe Game Rules:
1. The game is played on a grid that's 3 squares by 3 squares.
2. You are "O", the computer is X. Players take turns putting their marks in empty squares.
3. if a player makes 3 of her marks in a row (up, down, across, or diagonally) the he is the winner.
4. When all 9 squares are full, the game is over (draw)
So, how to play the game?
- The player/you can play "O", meaning your mark is "O", so Xs for the script. please note that: The script plays with ONLY X
- There is naming for all squears, A1, A2, A3, B1, B2, B3, C1, C2, C3. you will see all these squares in the options.
- also You can set who will play first => "Human" or "Computer"
if it's your turn to move then you will see "You Move" text, as seen in the following screenshot. for example you want to put "O" to "A1" then using options set A1 as O
How the script play?
it uses MinMax algorithm with constant depth = 4. And yes we don't have option to make recursive functions in Pine at the moment so I made four functions for each depth. this idea can be used in your scripts if you need such an algorithm. if you have no idea about MinMax algorithm you can find a lot of articles on the net :)
The script plays its move automatically if its turn to play. you will just need to set the option that computer played (A1, C3, etc)
if it's computer turn to play then it calculates and show the move it wants to play like "My Move : B3 <= X" then using options you need to set B3 as X
Also it checks if the board is valid or not:
I have tested it but if you see any bug let me know please
Enjoy!
ProfitBee59 v6.0ProfitBee59 v6.0 for TradingView (pb6 ai) helps you do tedious works on your technical charts.
*It does CC59 counting and prints out a positive or negative number on each price bar.
*When the counting arrives at -9 or +9, it creates support and resistance ( SNR ) levels on the chart.
*It draws a pair of fast/slow average lines with pink/red colors for corresponding downtrend and yellow/green for uptrend.
*It shows a crossing point between fast/slow average line with a cream cross sign.
*It analyses and prints Up/Dn arrows base on each of these modes including time, price, average line turnings and crossing, above red/ below green (ARBG) candlesticks.
*It draws lines showing differences between price-fast average, price-slow average, and fast average-slow average.
*In addition, other auxiliary tools such as Max/Min finder used to find the candlesticks with local max/min prices or Gap finder used to locate discontinuity between candlesticks are also provided.
*For Forex trading, other intraday parameters are also available including the day opening level, high/low of previous days as well as intraday brown background marking overlapping sessions for Sydney-Tokyo, Tokyo-London and London-New York markets.
*Smart phone/tablet and PC notifications of events occurring in the chart can be sent to you by server-side alerts so that you don't have to stay in front of the screen all the time.
------------------------------
How to install the script:
------------------------------
*Go to the bottom of this page and click on "Add to Favorite Scripts".
*Remove older version of the script by clicking on the "X" button behind the indicator line at the top left corner of the chart window.
*Open a new chart at and click on the "Indicators" tab.
*Click on the "Favorites" tab and choose "ProfitBee59 v6.0".
*Right click anywhere on the graph, choose "Color Theme", the select "Dark".
*Right click anywhere on the graph, choose "Settings".
*In "Symbol" tab, set "Precision" to 1/100 for stock price or 1/100000 for Forex and set "Time Zone" to your local time.
*In "Scales" tab, check "Symbol Name Label" and "Indicator Last Value Label".
*In "Events" tab, check "Show Dividends on Chart", "Show Splits on Chart" and "Show Earnings on Chart".
*At the bottom of settings window, click on "Template", "Save As...", then name this theme of graph setting for future call up such as "Stock pb6" or "Forex pb6".
*Click OK.
==========================================
ProfitBee59 v6.0 for TradingView (pb6 ai) is locked and protected.
Please ***do not*** ask for access in the comment section.
Use the link below to obtain access to this indicator.
==========================================
CryptoSignalScanner - Stochastic Trend IndicatorDESCRIPTION:
This script has been designed to provide the ideal buy and sell moment on the lower time frames.
• This scripts is based on the Stochastic RSI Indicator.
• When we are in an uptrend the background becomes green.
• When we are in a downtrend the background becomes red.
• It is also possibility to set the overbought and oversold range.
HOW TO USE:
• When the blue line (stochastic K) has crossed above the red line (stochastic D) in the oversold area then this is the ideal moment to get into a trade.
• When the blue line (stochastic K) has crossed below the red line (stochastic D) in the overbought area then this is the ideal moment to get out of a trade.
• Use this together with the CryptoSignalScanner - Advanced BUY/SELL indicator to get a stronger confirmation.
• Use the Fibonacci tool together with the Eliot Waves to help you to find the ideal buy or sell moment.
HOW TO GET ACCESS TO THE SCRIPT:
• Use the link below to subscribe to our indicators.
REMARKS:
• This advice is NOT financial advice.
• We do not provide personal investment advice and we are not a qualified licensed investment advisor.
• All information found here, including any ideas, opinions, views, predictions, forecasts, commentaries, suggestions, or stock picks, expressed or implied herein, are for informational, entertainment or educational purposes only and should not be construed as personal investment advice.
• We will not and cannot be held liable for any actions you take as a result of anything you read here.
• We only provide this information to help you make a better decision.
• While the information provided is believed to be accurate, it may include errors or inaccuracies.
Good Luck,
The CryptoSignalScanner Team
Heikin Ashi Margin Scalping script for BitmexA script made for a lot of trades (scalping) and good solid profits on the Tested and it generates very attractive profits. Test it for yourself.
- Made for BITCOIN / US DOLLAR PERPETUAL INVERSE SWAP CONTRACT XBTUSD on Bitmex.
- Only 40% of these trades are profitable, but within this 40 percent, it catches all the spikes and lows. And therefore a lot more profit then loss. The most loss is generated at the moment BTC is falling still and there is not a lot of volatility.
- I use it to create alerts and sent these to my bot, so i don't have to do manual trading.
You can ask for access and try this strategy for yourself for 5 days. When you are convinced and want to have the script with alerts to be shared with you, I ask for a small donation of 0.02 BTC. This allows me to create other scripts and to improve this script.
I only sell this script to 50 people, so that it remains exclusive.
[Autoview][BackTest]Dual MA Ribbons R0.12 by JustUncleLThis is an implementation of a strategy based on two MA Ribbons, a Fast Ribbon and a Slow Ribbon. This strategy can be used on Normal candlestick charts or Renko charts (if you are familiar with them).
The strategy revolves around a pair of scripts: One to generate alerts signals for Autoview and one for Backtesting, to tune your settings.
The risk management options are performed within the script to set SL(StopLoss), TP(TargetProfit), TSL(Trailing Stop Loss) and TTP (Trailing Target Profit). The only requirement for Autoview is to Buy and Sell as directed by this script, no complicated syntax is required.
The Dual Ribbons are designed to capture the inferred behavior of traders and investors by using two groups of averages:
> Traders MA Ribbon: Lower MA and Upper MA (Aqua=Uptrend, Blue=downtrend, Gray=Neutral), with center line Avg MA (Orange dotted line).
> Investors MAs Ribbon: Lower MA and Upper MA (Green=Uptrend, Red=downtrend, Gray=Neutral), with center line Avg MA (Fuchsia dotted line).
> Anchor time frame (0=current). This is the time frame that the MAs are calculated for. This way 60m MA Ribbons can be viewed on a 15 min chart to establish tighter Stop Loss conditions.
Trade Management options:
Option to specify Backtest start and end time.
Trailing Stop, with Activate Level (as % of price) and Trailing Stop (as % of price)
Target Profit Level, (as % of price)
Stop Loss Level, (as % of price)
BUY green triangles and SELL dark red triangles
Trade Order closed colour coded Label:
>> Dark Red = Stop Loss Hit
>> Green = Target Profit Hit
>> Purple = Trailing Stop Hit
>> Orange = Opposite (Sell) Order Close
Trade Management Indication:
Trailing Stop Activate Price = Blue dotted line
Trailing Stop Price = Fuschia solid stepping line
Target Profit Price = Lime '+' line
Stop Loss Price = Red '+' line
Dealing With Renko Charts:
If you choose to use Renko charts, make sure you have enabled the "IS This a RENKO Chart" option, (I have not so far found a way to Detect the type of chart that is running).
If you want non-repainting Renko charts you MUST use TRADITIONAL Renko Bricks. This type of brick is fixed and will not change size.
Also use Renko bricks with WICKS DISABLED. Wicks are not part of Renko, the whole idea of using Renko bricks is not to see the wick noise.
Set you chart Time Frame to the lowest possible one that will build enough bricks to give a reasonable history, start at 1min TimeFrame. Renko bricks are not dependent on time, they represent a movement in price. But the chart candlestick data is used to create the bricks, so lower TF gives more accurate Brick creation.
You want to size your bricks to 2/1000 of the pair price, so for ETHBTC the price is say 0.0805 then your Renko Brick size should be about 2*0.0805/1000 = 0.0002 (round up).
You may find there is some slippage in value, but this can be accounted for in the Backtest by setting your commission a bit higher, for Binance for example I use 0.2%
Special thanks goes to @CryptoRox for providing the initial Risk management Framework in his "How to automate this strategy for free using a chrome extension" example.
alpha Renko intraday wave timeI was asked to share my experimental Renko intraday wave time. So here it is warts and all. The same for the rest - except the Weis cumulative volume.
Renko wave time is in minutes. This script is strictly intraday and has not been played with extensively.
You must use traditional Renko and set the script wave size to the same size as the Renko brick size.
If you click on the sideways wishbone or "V" in the middle upper part of the chart you will get all of the scripts in this particular sandbox. After clicking the sideways wish bone click on "make it mine". You will then have the whole sandbox. The only published script is the Weis cumulative wave.
The "Boys MAs" is supposed to be a script for daily charts and from within some kind of consolidation. In any case I am intrigued by some signals. You have a variety of sandbox options in the format section of the boys MAs.
These codes are pretty rough with lots of abandoned lines of script.
IU Trailing Stop Loss MethodsThe 'IU Trailing Stop Loss Methods' it's a risk management tool which allows users to apply 12 trailing stop-loss (SL) methods for risk management of their trades and gives live alerts when the trailing Stop loss has hit. Below is a detailed explanation of each input and the working of the Script.
Main Inputs:
- bar_time: Specifies the date from which the trade begins and entry price will be the open of the first candle.
- entry_type: Choose between 'Long' or 'Short' positions.
- trailing_method: Select the trailing stop-loss method. Options include ATR, Parabolic SAR, Supertrend, Point/Pip based, Percentage, EMA, Highest/Lowest, Standard Deviation, and multiple target-based methods.
- exit_after_close: If checked, exits the trade only after the candle closes.
Optional Inputs:
ATR Settings:
- atr_Length: Length for the ATR calculation.
- atr_factor: ATR multiplier for SL calculation.
Parabolic SAR Settings:
- start, increment, maximum: Parameters for the Parabolic SAR indicator.
Supertrend Settings:
- supertrend_Length, supertrend_factor: Length and factor for the Supertrend indicator.
Point/Pip Based:
- point_base: Set trailing SL in points/pips.
Percentage Based:
- percentage_base: Set SL as a percentage of entry price.
EMA Settings:
- ema_Length: Length for EMA calculation.
Standard Deviation Settings:
- std_Length, std_factor: Length and factor for standard deviation calculation.
Highest/Lowest Settings:
- highest_lowest_Length: Length for the highest/lowest SL calculation.
Target-Based Inputs:
- ATR, Point, Percentage, and Standard Deviation based target SL settings with customizable lengths and multipliers.
Entry Logic:
- Trades initiate based on the entry_type selected and the specified bar_time.
- If Long is selected, a long trade is initiated when the conditions match, and vice versa for Short.
Trailing Stop-Loss (SL) Methods Explained:
The strategy dynamically adjusts stop-loss based on the chosen method. Each method has its calculation logic:
- ATR: Stop-loss calculated using ATR multiplied by a user-defined factor.
- Parabolic SAR: Uses the Parabolic SAR indicator for trailing stop-loss.
- Supertrend: Utilizes the Supertrend indicator as the stop-loss line.
- Point/Pip Based: Fixed point-based stop-loss.
- Percentage Based: SL set as a percentage of entry price.
- EMA: SL based on the Exponential Moving Average.
- Highest/Lowest: Uses the highest high or lowest low over a specified period.
- Standard Deviation: SL calculated using standard deviation.
Exit Conditions:
- If exit_after_close is enabled, the position will only close after the candle confirms the stop-loss hit.
- If exit_after_close is disabled, the strategy will close the trade immediately when the SL is breached.
Visualization:
The script plots the chosen trailing stop-loss method on the chart for easy visualization.
Target-Based Trailing SL Logic:
- When a position is opened, the strategy calculates the initial stop-loss and progressively adjusts it as the price moves favorably.
- Each SL adjustment is stored in an array for accurate tracking and visualization.
Alerts and Labels:
- When the Entry or trailing stop loss is hit this scripts draws a label and give alert to the user that trailing stop has been hit for the trade.
Note - on the historical data The Script will show nothing if the entry and the exit has happened on the same candle, because we don't know what was hit first SL or TP (basically how the candle was formed on the lower timeframe).
Summary:
This script offers flexible trailing stop-loss options for traders who want dynamic risk management in their strategies. By offering multiple methods like ATR, SAR, Supertrend, and EMA, it caters to various trading styles and risk preferences.
Simple COT ReportCOT Net Positions Indicator
Author: © Munkhtur
This indicator provides a comprehensive visualization of the Commitment of Traders (COT) report data, enabling traders to analyze market sentiment and positioning for key market participants.
Key Features:
Dashboard Display: Shows the net positions of Commercial, Noncommercial, and Nonreportable (Retail) traders.
Dynamic Position Tracking: Highlights significant changes in long and short positions for all trader categories based on customizable percentage thresholds.
COT Data Integration: Utilizes Legacy COT report data with clear segregation of long, short, and net positions.
Visual Signals:
Bullish and bearish trends are indicated with customizable colors for better chart visualization.
Displays "open" and "close" position changes directly on the price candles for easier tracking.
Flexible Configuration: Adjustable settings for dashboard location, text size, percentage thresholds, and color schemes.
How to Use:
Load the Script: Add the indicator to your Futures chart only by navigating to the TradingView indicators menu and selecting it from your saved scripts.
Customize Settings:
Dashboard: Enable or disable the dashboard, and set its position (Top Left, Top Right, etc.).
Data on Candle: Turn on/off the visualization of COT data changes on price candles and define the percentage change threshold to focus on significant moves.
Style Options: Customize bullish and bearish colors for better visual differentiation.
Select Trader Group: Choose from Commercial, Noncommercial, or Nonreportable positions in the settings menu to analyze the specific group of market participants.
Interpret Signals:
Green bars indicate opening long positions or bullish sentiment.
Red bars highlight opening short positions or bearish sentiment.
Yellow and purple bars signify the closure of long and short positions, respectively.
Use Cases:
Identify market sentiment shifts by observing net position changes among different trader groups.
Spot potential trend reversals based on COT data dynamics.
Use as a complementary tool to confirm your existing trading strategies.
Disclaimer:
This indicator is a tool for educational and informational purposes only. Always combine it with your own analysis and risk management strategy when trading.
Sessions [UkutaLabs]█ OVERVIEW
Sessions is a trading toolkit that displays the different trading sessions on your chart during a trading day. By default, Sessions displays the four standard trading sessions; New York, Tokyo, London, and Sydney.
Each of the four sessions can be toggled, and the Sessions indicator is completely customizable, allowing users to define their own sessions to be generated by the script.
The aim of this script is to improve the trading experience of users by automatically displaying information about each default or custom session to the user.
█ USAGE
This script will automatically detect and label different market sessions. By default, the script will identify the four standard trading sessions, but each of these can be toggled off in the settings.
However, users are not limited to these four trading sessions and have the ability to define their own sessions to be identified by the script. When a session begins, the script will automatically start outlining the market data of that session, including the high and low of the period that is represented by the session.
If the market is within two or more sessions at the same time, then each session will be treated individually and will overlap with each other.
The sessions will be identified as a colored box surrounding the market data of the period that it represents, and a label will be displayed above the box to identify the session that it represents. The label, color and period of each session is completely customizable.
The user can also adjust all sessions at once to account for timezones in the settings.
█ SETTINGS
Session 1
• Session 1: Determines whether or not this session will be drawn by the script.
• A string field to determine the name of the session that will be displayed above the session range.
• Two time fields representing the start and finish of the session.
• A color field to determine the color of the range and label.
Session 2
• Session 2: Determines whether or not this session will be drawn by the script.
• A string field to determine the name of the session that will be displayed above the session range.
• Two time fields representing the start and finish of the session.
• A color field to determine the color of the range and label.
Session 3
• Session 3: Determines whether or not this session will be drawn by the script.
• A string field to determine the name of the session that will be displayed above the session range.
• Two time fields representing the start and finish of the session.
• A color field to determine the color of the range and label.
Session 4
• Session 4: Determines whether or not this session will be drawn by the script.
• A string field to determine the name of the session that will be displayed above the session range.
• Two time fields representing the start and finish of the session.
• A color field to determine the color of the range and label.
Time Zones
• UTC +/-: Determines the offset of each session. Enter - before the number to represent a negative offset.
Dynamic Auto Fibonacci Retracement + SMA
Explanation of the Script:
This script, "Dynamic Auto Fibonacci Retracement + SMA," combines Fibonacci retracement levels with Simple Moving Averages (SMA) to create a comprehensive tool for technical analysis. The purpose of this script is to help traders identify potential support and resistance levels, determine trend direction, and identify dynamic retracement points across multiple timeframes. By combining these indicators, traders gain a holistic view of market conditions, enabling them to make more informed trading decisions.
How Components Work Together:
Fibonacci Retracement Levels:
Automatically calculated based on user-defined lookback periods, these levels are plotted to help identify key areas where price might reverse or continue its trend. The script uses persistent arrays to manage and plot Fibonacci lines and labels, dynamically adjusting them as new data comes in. This ensures that traders always have up-to-date retracement levels on their charts.
Simple Moving Averages (SMA):
SMAs are overlaid on the chart to indicate the trend direction. Different SMA periods can be set for various timeframes, providing a multi-timeframe analysis that helps traders understand the broader market context. The SMA is calculated using the ta.sma function, and users can customize the lookback period to fit their trading strategy.
Trend Analysis:
The script incorporates additional indicators such as RSI, MACD, Bollinger Bands, and ADX to confirm trend direction. These indicators are used in conjunction to provide a robust framework for identifying whether the market is in an uptrend, downtrend, or moving sideways. This multi-indicator approach helps reduce false signals and improve trend detection accuracy.
Support and Resistance Detection:
The script highlights key support and resistance levels by identifying recent highs and lows. This feature provides traders with additional context for potential price reversals and helps them make more strategic trading decisions. Support and resistance levels are plotted using the ta.valuewhen function, which ensures that they are accurately identified and displayed on the chart.
Higher Timeframe Analysis:
By incorporating higher timeframe Fibonacci levels and SMAs, the script allows traders to consider broader market trends. This higher timeframe analysis helps traders align their short-term trades with the overall market direction, improving the likelihood of successful trades. The script uses the request.security function to fetch higher timeframe data, ensuring that the analysis is accurate and relevant.
Customizable Settings:
The script offers a wide range of customizable settings, allowing users to adjust colors, styles, and advanced features to tailor the script to their specific trading needs and preferences. This flexibility makes the script suitable for various trading strategies and styles, from scalping to long-term investing. Users can adjust settings such as the lookback period, SMA period, line colors, and more, ensuring that the script fits seamlessly into their existing trading setup.
How to Use the Script:
Set Lookback Periods: Adjust the lookback periods for Fibonacci levels and SMAs based on your trading strategy.
Customize Appearance: Use the color and style settings to match the script's appearance to your charting preferences.
Enable Advanced Features: Turn on features such as support/resistance detection and higher timeframe analysis to enhance your market analysis.
Monitor Trend Direction: Use the combined indicators to confirm trend direction and identify potential entry and exit points.
Adjust Settings: Fine-tune the script's settings to align with your specific trading needs and preferences.
By following these steps, traders can effectively use the "Dynamic Auto Fibonacci Retracement + SMA" script to improve their technical analysis and make more informed trading decisions. This script's unique combination of indicators and customizable features provides a powerful tool for traders looking to enhance their market analysis and trading strategies.
chrono_utilsLibrary "chrono_utils"
📝 Description
Collection of objects and common functions that are related to datetime windows session days and time ranges. The main purpose of this library is to handle time-related functionality and make it easy to reason about a future bar checking if it will be part of a predefined session and/or inside a datetime window. All existing session functionality I found in the documentation e.g. "not na(time(timeframe, session, timezone))" are not suitable for strategy scripts, since the execution of the orders is delayed by one bar, due to the script execution happening at the bar close. Moreover, a history operator with a negative value that looks forward is not allowed in any pinescript expression. So, a prediction for the next bar using the bars_back argument of "time()"" and "time_close()" was necessary. Thus, I created this library to overcome this small but very important limitation. In the meantime, I added useful functionality to handle session-based behavior. An interesting utility that emerged from this development is data anomaly detection where a comparison between the prediction and the actual value is happening. If those two values are different then a data inconsistency happens between the prediction bar and the actual bar (probably due to a holiday, half session day, a timezone change etc..)
🤔 How to Guide
To use the functionality this library provides in your script you have to import it first!
Copy the import statement of the latest release by pressing the copy button below and then paste it into your script. Give a short name to this library so you can refer to it later on. The import statement should look like this:
import jason5480/chrono_utils/2 as chr
To check if a future bar will be inside a window first of all you have to initialize a DateTimeWindow object.
A code example is the following:
var dateTimeWindow = chr.DateTimeWindow.new().init(fromDateTime = timestamp('01 Jan 2023 00:00'), toDateTime = timestamp('01 Jan 2024 00:00'))
Then you have to "ask" the dateTimeWindow if the future bar defined by an offset (default is 1 that corresponds th the next bar), will be inside that window:
// Filter bars outside of the datetime window
bool dateFilterApproval = dateTimeWindow.is_bar_included()
You can visualize the result by drawing the background of the bars that are outside the given window:
bgcolor(color = dateFilterApproval ? na : color.new(color.fuchsia, 90), offset = 1, title = 'Datetime Window Filter')
In the same way, you can "ask" the Session if the future bar defined by an offset it will be inside that session.
First of all, you should initialize a Session object.
A code example is the following:
var sess = chr.Session.new().from_sess_string(sess = '0800-1700:23456', refTimezone = 'UTC')
Then check if the given bar defined by the offset (default is 1 that corresponds th the next bar), will be inside the session like that:
// Filter bars outside the sessions
bool sessionFilterApproval = view.sess.is_bar_included()
You can visualize the result by drawing the background of the bars that are outside the given session:
bgcolor(color = sessionFilterApproval ? na : color.new(color.red, 90), offset = 1, title = 'Session Filter')
In case you want to visualize multiple session ranges you can create a SessionView object like that:
var view = SessionView.new().init(SessionDays.new().from_sess_string('2345'), array.from(SessionTimeRange.new().from_sess_string('0800-1600'), SessionTimeRange.new().from_sess_string('1300-2200')), array.from('London', 'New York'), array.from(color.blue, color.orange))
and then call the draw method of the SessionView object like that:
view.draw()
🏋️♂️ Please refer to the "EXAMPLE DATETIME WINDOW FILTER" and "EXAMPLE SESSION FILTER" regions of the script for more advanced code examples of how to utilize the full potential of this library, including user input settings and advanced visualization!
⚠️ Caveats
As I mentioned in the description there are some cases that the prediction of the next bar is not accurate. A wrong prediction will affect the outcome of the filtering. The main reasons this could happen are the following:
Public holidays when the market is closed
Half trading days usually before public holidays
Change in the daylight saving time (DST)
A data anomaly of the chart, where there are missing and/or inconsistent data.
A bug in this library (Please report by PM sending the symbol, timeframe, and settings)
Special thanks to @robbatt and @skinra for the constructive feedback 🏆. Without them, the exposed API of this library would be very lengthy and complicated to use. Thanks to them, now the user of this library will be able to get the most, with only a few lines of code!
Fsystem Pivot 1453 ScreenerHello,
This script provides scanning for our pivot 1453 script and should be used together.
I will try to explain the content with pictures.
Merhaba,
bu scriptimiz ,pivot 1453 scriptimiz için tarama yapılmasını sağlar ve beraber kullanılmalıdır.
sizlere içeriği resimler ile anlatmaya çalışacam.
Status column :
this column indicates that you are
from the Bear or Bull area at the last bar,
bear-positive bear appeared in the field,
bull -negative indicates that the bull is out of the field.
----------------
Durum Kolonu :
Bu kolon son barda Ayı veya Boğa alanda oldugunu ifade eder,
bear-positive ayı alandan çıktıgını,
bull -negative boğa alandan çıktığını ifade eder.
how bar ago column :
Indicates how many bars ago
the bull or bear crossed the area.
---------------------------------------
how bar ago kolonu :
boğa veya ayı alana kaç bar önce geçtiğini belirtir.
Level 1 distance column:
your last price
It is the percentage distance from the first pivot line that occurs when the Bull or Bear enters the field.
It gives information about how much the price has gained according to the 1st pivot and adds the color expression according to the current area.
-------------------------------------------
Level 1 distance kolonu :
son fiyatın
Boğa veya Ayı alana girdiğinde olusan ilk pivot çizgisine yüzdelik olarak uzaklığıdır.
1.pivota göre fiyat nekadar değer kazanmış bilgisini verir ve şu andaki alana göre renk ifadesinide katar.
which level column :
It gives information about the level of the price and colors it according to the relevant level.
----------------------------------------
which level kolonu :
fiyatın hangi seviyede oldugunun bilgisini verir ve ilgili seviyesine göre renklendirir.
Bottom distance column:
It gives the percentage distance
of the last price from the Support line.
-------------------------------------------------
Bottom distance kolonu :
Son fiyatın Destek çizgisine
yüzdelik uzaklığı bilgisini verir.
top distance column:
It gives the distance of the last price
from the peak, that is, to the resistance
point, as a percentage.
-------------------------------
top distance kolonu :
son fiyatın tepe yani direnç noktasına
uzaklığını yüzdelik olarak verir.
level up jump column :
If the price has closed on the line upwards
at the last bar and has passed to the
other level region, it gives information
about this.
-------------------------------------------
Level up jump kolonu :
eğer fiyat son barda yukarı doğru ,
çizgi üzerinde kapanış yapmış ve
diğer seviye bolgesine geçmiş ise
bunun bilgisini verir.
ema 60 and ema 360 column:
Returns the value of ema.
If the price is lower than the
relevant ema, it is turned
to a green ground if it is above red.
-----------------------------------
ema 60 ve ema 360 kolonu :
ema nın değerini verir.
eğer fiyat ilgili ema dan aşağı
ise kırmızı üstü ise yeşil zemine çevirilir.
Level Supp--Resis column:
gives the value of the top
resistance and the value of
the bottom support.
---------------------------
Level Supp--Resis kolonu :
tepe direncin değerini ve
dip desteğin değerini verir.
From the settings option of the script, you can narrow the result area by converting currency,
choosing a period, selecting a share, scanning another stock set and filtering integrated into the columns.
---------------------------------------------------------------------------------------------------------------------------------
scriptin ayarlar seçeneğinden ,para birimi çevirme ,periyot seçme,hisse seçme ,başka hisse seti tarama ve kolonlara entegreli filtreleme yaparak sonuç alanını daraltabilirsiniz.
Pinescript - Standard Array Functions Library by RRBStandard Array Functions Library by RagingRocketBull 2021
Version 1.0
This script provides a library of every standard Pinescript array function for live testing with all supported array types.
You can find the full list of supported standard array functions below.
There are several libraries:
- Common String Functions Library
- Common Array Functions Library
- Standard Array Functions Library
Features:
- Supports all standard array functions (30+) with all possible array types* (* - except array.new* functions and label, line array types)
- Live Output for all/selected functions based on User Input. Test any function for possible errors you may encounter before using in script.
- Output filters: show errors, hide all excluded and show only allowed functions using a list of function names
- Console customization options: set custom text size, color, page length, line spacing
Notes:
- uses Pinescript v3 Compatibility Framework
- uses Common String Functions Library
- has to be a separate script to reduce the number of local scopes in Common Array Function Library, there's no way to merge these scripts into a single library.
- lets you live test all standard array functions for errors. If you see an error - change params in UI
- array types that are not supported by certain functions and producing a compilation error were disabled with "error" showing up as result
- if you see "Loop too long" error - hide/unhide or reattach the script
- doesn't use pagination, a single str contains all output
- for most array functions to work (except push), an array must be defined with at least 1 pre-existing dummy element 0.
- array.slice and array.fill require from_index < to_index otherwise error
- array.join only supports string arrays, and delimiter must be a const string, can't be var/input. Use join_any_array to join any array type into string. You can also use tostring() to join int, float arrays.
- array.sort only supports int, float arrays. Use sort_any_array from the Common Array Function Library to sort any array type.
- array.sort only sorts values, doesn't preserve indexes. Use sort_any_array from the Common Array Function Library to sort any array while preserving indexes.
- array.concat appends string arrays in reverse order, other array types are appended correctly
- array.covariance requires 2 int, float arrays of the same size
- tostring(flag) works only for internal bool vars, flag expression can't depend on any inputs of any type, use bool_to_str instead
- you can't create an if/function that returns var type value/array - compiler uses strict types and doesn't allow that
- however you can assign array of any type to another array of any type creating an arr pointer of invalid type that must be reassigned to a matching array type before used in any expression to prevent error
- source_array and create_any_array2 use this loophole to return an int_arr pointer of a var type array
- this works for all array types defined with/without var keyword. This doesn't work for string arrays defined with var keyword for some reason
- you can't do this with var type vars, this can be done only with var type arrays because they are pointers passed by reference, while vars are the actual values passed by value.
- wrapper functions solve the problem of returning var array types. This is the only way of doing it when the top level arr type is undefined.
- you can only pass a var type value/array param to a function if all functions inside support every type - otherwise error
- alternatively values of every type must be passed simultaneously and processed separately by corresponding if branches/functions supporting these particular types returning a common single result type
- get_var_types solves this problem by generating a list of dummy values of every possible type including the source type, allowing a single valid branch to execute without error
- examples of functions supporting all array types: array.size, array.get, array.push. Examples of functions with limited type support: array.sort, array.join, array.max, tostring
- unlike var params/global vars, you can modify array params and global arrays directly from inside functions using standard array functions, but you can't use := (it only works for local arrays)
- inside function always work with array.copy to prevent accidental array modification
- you can't compare arrays
- there's no na equivalent for arrays, na(arr) doesn't work
P.S. A wide array of skills calls for an even wider array of responsibilities
List of functions:
- array.avg(arr)
- array.clear(arr)
- array.concat(arr1, arr2)
- array.copy(arr)
- array.covariance(arr1, arr2)
- array.fill(arr, value, index_from, index_to)
- array.get(arr, index)
- array.includes(arr, value)
- array.indexof(arr, value)
- array.insert(arr, index, value)
- array.join(arr, delimiter)
- array.lastindexof(arr, value)
- array.max(arr)
- array.median(arr)
- array.min(arr)
- array.mode(arr)
- array.pop(arr)
- array.push(arr, value)
- array.range(arr)
- array.remove(arr, index)
- array.reverse(arr)
- array.set(arr, index, value)
- array.shift(arr)
- array.size(arr)
- array.slice(arr, index_from, index_to)
- array.sort(arr, order)
- array.standardize()
- array.stdev(arr)
- array.sum(arr)
- array.unshift(arr, value)
- array.variance(arr)
CSPDMost Advanced & Accurate CandleStick Pattern Detector
Looking All Over of All Markets for All Important Powerful Reversal | Corrective Patterns (25 type)
Filtering the Results with Optional Features like Oscillator, Bollinger Bands, Volume Confirmation, Prior and Following Candles Confirmation which are Fully Customizable.
With this you can detect:
Hammer | Shooting star
Inverted Hammer | Hanging
Long legged Doji | Dragonfly Doji | Gravestone Doji
Bullish tweezers | Bearish tweezers
Bullish inside bar | Bearish inside bar
Bullish three line strike | Bearish three line strike
Bullish engulfing | Bearish engulfing
Piercing line | Dark cloud cover
Bullish abandoned baby | Bearish abandoned baby
Morning star | Evening star
Three white soldiers | Three black crows
*Bullish kayo | *Bearish kayo
Features:
Prior and Following candles Confirmation
You can set prior and following candle as basic prerequisites for marking candles as pattern to make sure you are at the top or bottom of the trend.
Volume confirmation
You can active volume increasing confirmation for some of pattern with adjustable increase % relative to prior candle | candles.
Oscillator Confirmation
Active oscillator confirmation. Select your approved oscillator from list (Stochastic, RSI, StochRSI, MFI, StochMFI) then enter desired value for marking candles as bullish | bearish pattern.
Bollinger Bands Confirmation
Active BB confirmation. Configure your Bollinger Bands. Now only see the patterns which reached or crossed from Bands. Also you can enable BB clod to have your BB indicator at the same time.
Adjustable Flexibility and Precision
You can set tolerance% for Osc and BB Confirmation - each one separately - for more control.
Self-adaptability
The properties of markets change over time, for example the amplitude of fluctuations and the intensity of movements. The script is designed in such a way that you can examine the price history as a benchmark for changes in market properties to adopt determinants. Also you can control those manually.
Self-regulatory
The user has the ability to change input factors depending on their point of view.
Behind the pattern recognition algorithms, there are relationships and similarities in their appearance that cause them to be influenced by each other. Simultaneously with changing the determining factors of each pattern by you, script automatically adjusts other details in accordance with your changes.
Alerts
You can set for type of pattern or each one of pattern have been detected.
Fully Costumizable
All of these options can be change and adjust.
Note 1.
The patterns are based on extensive study of reference and famous sources and the experience of me and my friends in trading and analysis with price action methods.
Note 2.
Due to the Pine limitations in the number of outputs | plots for each script, our attempt has been made to select the best and most important patterns.
Note 3.
So far, many scripts have been written in this field, but our experience with all of them and even the build in version was not satisfactory, and this was the initial motivation for making the script.
We strive to improve progress and elimination of shortcomings and we will continue to make this better.
Note 4.
Through personal experience and based on the principles of market and candlestick psychology, we discovered a new type of pattern and named it as Kayo.
kayo is a two candle pattern which formed when:
1.We have a pivot point with prior candles as left bars and following candles as right bar. Pivot candle called as second candle.
2.In a bullish kayo, first candle must closed descending and second candle must closed as ascending. For bearish kayo vise versa.
3.In a bullish kayo, second candle's lower wick must be longer then upper wick.
4. A pattern marked as kayo when its conditions do not correspond to any of the other patterns(include the confirmation that user added), ie it has the last naming priority over the other patterns.
Note 5.
When you active confirmation options for patterns like hammer, engulf and etc which they conditions are like kayo in some extent, if they can't pass the confirmation steps, they can be marked as kayo pattern.
Note 6.
If you active volume confirmation for Three white soldiers | Three black crows, the confirmation get passed if the volume of forth or third candle increased as value as entered relative to volume EMA3 of 3 candles.
Note 7.
In a bullish pattern all highs of following candles MUST be higher than prior highs and all lows of following candles MUST be higher than prior lows. For bearish patterns vise versa.
This type of confirmation depends on High and Low NOT close!
Gift to price action lovers!
Support us with your like and comments. let us know your experience, points and idea to make this better together.
CryptoSignalScanner - Double High/Low & Engulfing IndicatorDESCRIPTION:
This script has been designed to show the double high/low candle patterns and the Engulfing candles patterns.
• This scripts is based on RSI length.
• It displays a label when a Double High or Double Low candle pattern is detected.
• It displays a label when a Bullish Engulfing or Bearish Engulfing candle pattern is detected.
• It is also possibility to set a Double High/Low, Double High, Double Low, Bullish/Bearish Engulfing, Bullish Engulfing, or Bearish Engulfing alert.
HOW TO USE:
• When a Double High signal appears it means that we have probably or temporarily stopped the uptrend and could see a reversal. Most likely we will see a downtrend from here.
• When a Double Low signal appears it means that we have probably or temporarily stopped the downtrend and probably could see a reversal. Most likely we will see an uptrend from here.
• When a Bullish Engulfing candle appears it means that we probably made a reversal to the upside. Bullish Engulfing patterns are more likely to signal reversals when they are preceded by three or more red candlesticks.
• When a Bearish Engulfing candle appears it means that we probably made a reversal to the downside. Bearish Engulfing patterns are more likely to signal reversals when they are preceded by three or more green candlesticks.
• Wait for a clear reversal to buy or to sell. Use the Fibonacci tool together with the Eliot Waves to help you with this.
FEATURES:
• You can show/hide the labels based on RSI length and high/low input values.
• You can show/hide the labels based on the % candle match.
• You can show/hide the Double High/Low labels.
• You can show/hide the Bullish/Bearish Engulfing labels.
HOW TO GET ACCESS TO THE SCRIPT:
• Use the link below to subscribe to our indicators.
REMARKS:
• This advice is NOT financial advice.
• We do not provide personal investment advice and we are not a qualified licensed investment advisor.
• All information found here, including any ideas, opinions, views, predictions, forecasts, commentaries, suggestions, or stock picks, expressed or implied herein, are for informational, entertainment or educational purposes only and should not be construed as personal investment advice.
• We will not and cannot be held liable for any actions you take as a result of anything you read here.
• We only provide this information to help you make a better decision.
• While the information provided is believed to be accurate, it may include errors or inaccuracies.
Good Luck,
The CryptoSignalScanner Team
Full Range Trading Study with Alerts and DCA
Introduction
This is the study version of my range trading strategy. It is designed to be a “drop in” replacement for its twin strategy. I have replicated the analysis logic and entry and exit procedures to produce a nearly identical result set to the strategy. Other than the properties tab, the inputs dialog is exactly the same. Backtest the strategy to determine the best inputs to trade. Then apply the same inputs to this study to forward test. Alerts are available for trade entry, take profit close and stop-loss exit. Please see the strategy version for a complete description of the trading behavior of this script.
In brief, this script is intended to benefit from a range bound market. The trading behavior is to buy on weakness and sell on strength. As such trade orders are placed in a counter direction to price pressure. What you will see on the chart is a short position on peaks and a long position on valleys. This is accomplished by calculating pivot points from the price stream. Rising pivots are shorts and falling pivots are longs. I refer to pivots as a vertex in the inputs dialog box. The cone based measurement adds a peak, sides and a base to the calculation elements. This allows the inputs to focus on adjusting the location of trades and not just trend lines. The pivot points can be plotted on the backtest. You can use the vertex input values to move the pivots where you want trades to be. This script can be traded in four different modes: Long, Short, BiDir, and Ping Pong. When trading in “Ping Pong” mode long and short positions are intermingled continuously as long as there exists a detectable vertex. I also have a trend following version of this script for those not interested in trading the range.
This script employs a DCA feature which enables users to experiment with loss recovery techniques in the backtest. Here in the study the summary report displays the “Debt Sequence” number which can be used to manually increase the order size on subsequent trades at the broker. The script keeps track of debt incurred from losing trades. When the debt is recovered the “Debt Sequence” resets to zero so orders can return to the base size. Be sure to set the limiter to prevent your account from depleting capital during runaway markets.
Consecutive loss limit can be set to report a breach of the threshold value. Every stop hit beyond this limit will be reported on a version 4 label above the bar where the stop is hit. Use the consecutive loss limit to manually halt live trading on the broker side.
Design
This script uses twelve indicators on a single time frame and is approximately 1800 lines of Pine 4 code. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The vertices are calculated using one of five featured indicators: Volume, Histogram, Fractal, Candle and Macro. The backtest is used to determine the best fit for your desired trading instrument. The incorporation of five distinct pivot point calculations broadens the scope of the markets where this tool can be beneficial.
Example configurations for various instruments along with a detailed PDF user manual is available.
Indicator Repainting
Please see the strategy script for a more detailed description of the repaint problem. The goal of my repaint prevention in the study script is simply to ensure that my signal trading bias remains consistent between the strategy, study and broker. This script employs the following conventions in effort to avoid indicator repainting:
1. This script uses only 1 time frame. The chart interval.
2. Every entry and exit condition is evaluated on closed bars only.
3. Entry and exit plots are not triggered off trend line crossovers.
4. No security functions are called to avoid a look-ahead possibility.
5. Every contributing factor specified in the TradingView wiki regarding this issue has been addressed. Except the use of the exponential moving average which is essential to my strategy.
6. I’ve run a 10 minute chart live for a week and compared it to the same chart periodically reloaded. The two charts were highly correlated with no instances of completely opposite real-time signals
This script does indeed bring up the TradingView warning dialog. The only reason for this is due to “peculiarities of the algorithm” regarding the EMA as stated in the wiki article.
The Bottom Line. Does this script repaint. Yes, it will repaint about as much as every other trading platform which combines backtest data with real time prices in a live trading scenario.
Usage
Please be aware that the purpose of the study script is to perform forward testing of the configuration established in the backtest process. Therefore, the usage here in the study begins with the backtest configuration parameters. The following steps provide instructions to get this study script connected to the TradingView alert notification system. For a detailed description of how to create a range trading system using this script please see the strategy version.
Step 1. Create a chart with the trading instrument and interval used in the backtest.
Step 2. Find this script in the “Invite Only” section of the Indicators Dialog and apply it to the current chart.
Step 3. Copy the values from the backtest input dialog to the study.
Step 4. Open the TradingView Alert window.
Step 5. In the “Condition” drop down field find and select the name of the script.
Step 6. A new drop down field will appear with the alerts available in the script. This script exposes the following six signals:
Long Entry Signal
Long Profit Signal
Long Stop-loss Signal
Short Entry Signal
Short Profit Signal
Short Stop-loss Signal
Select the signal for which you want notification.
Step 7. In the “Options” field select the frequency of the alert. Typically, "Once Per Bar" or "Once Per Bar Close" will be sufficient.
Step 8. Set the expiration date and time.
Step 9. Select the action of the alert. Currently TradingView offers six different actions:
Notify on App
Show Popup
Send Email
Webhook URL
Play Sound
Send Email to SMS
Step 10. Create a message to to transmitted with the alert. The script provides a default message which can be overridden with any custom description. The price, time and other reserved chart elements can be included in the message
Step 11. Click the “Create” button to generate this single alert.
Step 12. Repeat steps 1 through 11 for every signal you wish to receive.
This script is open for beta testing. After successful beta test it will become a commercial application available by subscription only. I’ve invested quite a lot of time and effort into making this the best possible signal generator for all of the instruments I intend to trade. I certainly welcome any suggestions for improvements. Thank you all in advance.